home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 24 / AACD 24.iso / AACD / Programming / Emperor4.1 / Emperor / Projects / DevsManager / DevsManager.c < prev    next >
Encoding:
C/C++ Source or Header  |  2001-07-16  |  72.7 KB  |  1,333 lines

  1. /* code was generated by Emperor */
  2.  
  3. #define CATCOMP_NUMBERS
  4. #define CATCOMP_STRINGS
  5. #define ALL_REACTION_CLASSES
  6. #define ALL_REACTION_MACROS
  7. #include <stdio.h>
  8. #include <stdlib.h>
  9. #include <string.h>
  10. #include <clib/alib_protos.h>
  11. #include <clib/asl_protos.h>
  12. #include <clib/dos_protos.h>
  13. #include <clib/exec_protos.h>
  14. #include <clib/gadtools_protos.h>
  15. #include <clib/graphics_protos.h>
  16. #include <clib/intuition_protos.h>
  17. #include <clib/locale_protos.h>
  18. #include <clib/resource_protos.h>
  19. #include <clib/utility_protos.h>
  20. #include <clib/colorwheel_protos.h>
  21. #include <clib/datebrowser_protos.h>
  22. #include <clib/texteditor_protos.h>
  23. #include <clib/wb_protos.h>
  24. #include <gadgets/colorwheel.h>
  25. #include <gadgets/datebrowser.h>
  26. #include <gadgets/gradientslider.h>
  27. #include <gadgets/tapedeck.h>
  28. #include <gadgets/texteditor.h>
  29. #include <proto/texteditor.h>
  30. #include <intuition/gadgetclass.h>
  31. #include <intuition/icclass.h>
  32. #include <intuition/imageclass.h>
  33. #include <reaction/reaction.h>
  34. #include <workbench/startup.h>
  35. #include <wbstartup.h>
  36.  
  37. #define TapeDeckObject   NewObject(NULL, "tapedeck.gadget"
  38. #define TextEditorObject NewObject(TEXTEDITOR_GetClass(), NULL
  39.  
  40. #define LOCALE_WINDOW_TITLE1 GetCatalogStr(Catalog, 0, "Window")
  41. #define LOCALE_SCREEN_TITLE1 GetCatalogStr(Catalog, 1, "DevsManager Version 1.4  created by Emperor")
  42. #define LOCALE_ICONIFIED_TITLE1 GetCatalogStr(Catalog, 2, "Iconified Program")
  43. #define LOCALE_MENU_PROJECT GetCatalogStr(Catalog, 3, "Project")
  44. #define LOCALE_MENU_INFO GetCatalogStr(Catalog, 4, "Information")
  45. #define LOCALE_MENU_QUIT GetCatalogStr(Catalog, 5, "Quit")
  46. #define LOCALE_MENU_TYPE GetCatalogStr(Catalog, 6, "Type")
  47. #define LOCALE_SELECTED_STRING GetCatalogStr(Catalog, 7, "Selected: NOTHING")
  48. #define LOCALE_REQUEST_QUIT_TITLE GetCatalogStr(Catalog, 8, "Program request")
  49. #define LOCALE_REQUEST_QUIT_BODY GetCatalogStr(Catalog, 9, " Do you really want to quit this program ?")
  50. #define LOCALE_REQUEST_QUIT_GADGET GetCatalogStr(Catalog, 10, "Okay|No")
  51. #define LOCALE_REQUEST_INFO_TITLE GetCatalogStr(Catalog, 11, "Program information")
  52. #define LOCALE_REQUEST_INFO_BODY GetCatalogStr(Catalog, 12, " DevsManager was written by Matthias Gietzelt\n DevsManager was created by Emperor")
  53. #define LOCALE_REQUEST_INFO_GADGET GetCatalogStr(Catalog, 13, "Okay")
  54. #define LOCALE_DELETE GetCatalogStr(Catalog, 14, "Delete")
  55.  
  56. #define Layout1 Gadget1[1]
  57. #define Layout2 Gadget1[2]
  58. #define Layout3 Gadget1[3]
  59. #define Listbrowser1 Gadget1[4]
  60. #define Layout4 Gadget1[5]
  61. #define Space1 Gadget1[6]
  62. #define Chooser1 Gadget1[7]
  63. #define Space5 Gadget1[8]
  64. #define Button1 Gadget1[9]
  65. #define Button2 Gadget1[10]
  66. #define Space4 Gadget1[11]
  67. #define Button4 Gadget1[12]
  68. #define Space3 Gadget1[13]
  69. #define Button3 Gadget1[14]
  70. #define Space2 Gadget1[15]
  71. #define Layout5 Gadget1[16]
  72. #define Listbrowser2 Gadget1[17]
  73. #define String1 Gadget1[18]
  74.  
  75. #define Menu_Project 65504
  76. #define Menu_Information 63488
  77. #define Menu_Quit 63552
  78. #define Menu_Type 65505
  79. #define Menu_DataTypes 63489
  80. #define Menu_DOSDrivers 63521
  81. #define Menu_Keymaps 63553
  82. #define Menu_Monitors 63585
  83. #define Menu_Printers 63617
  84.  
  85. LONG Quitrequest1(void);
  86. LONG Inforequest1(void);
  87. void Listbrowser1_GadgetUp_Event(void);
  88. void Chooser1_GadgetUp_Event(void);
  89. void Button1_GadgetUp_Event(void);
  90. void Button2_GadgetUp_Event(void);
  91. void Button4_GadgetUp_Event(void);
  92. void Button3_GadgetUp_Event(void);
  93. void Listbrowser2_GadgetUp_Event(void);
  94. void Menu_Information_MenuPick_Event(void);
  95. void Menu_Quit_MenuPick_Event(void);
  96. void Menu_DataTypes_MenuPick_Event(void);
  97. void Menu_DOSDrivers_MenuPick_Event(void);
  98. void Menu_Keymaps_MenuPick_Event(void);
  99. void Menu_Monitors_MenuPick_Event(void);
  100. void Menu_Printers_MenuPick_Event(void);
  101. void Window1_CloseWindow_Event(void);
  102. void Window1_ShowWindow_Event(void);
  103. void Startup(void);
  104. void Shutdown(void);
  105. void Emperor_InitProgram(void);
  106. void Emperor_QuitProgram(void);
  107. void Emperor_AllocChooserNode(struct List *, char **, WORD *);
  108. void Emperor_AllocClicktabNode(struct List *, char **, WORD *);
  109. void Emperor_AllocListbrowserNode(struct List *, char **, WORD *);
  110. void Emperor_AllocRadiobuttonNode(struct List *, char **, WORD *);
  111. void Emperor_AllocListbrowserGadToolsNode(struct List *, char **);
  112. void Emperor_CloseWindow_Window1(void);
  113. struct Window *Emperor_OpenWindow_Window1(void);
  114. STRPTR Emperor_GetGadgetAttr(struct Gadget *);
  115. void Emperor_SetGadgetAttr(struct Gadget *, STRPTR);
  116. void Emperor_SetGadgetAttrComplex(struct Gadget *, ULONG, STRPTR);
  117. void Emperor_SetGadgetDisabledAttr(struct Gadget *, BOOL);
  118. ULONG stringlength(STRPTR);
  119. LONG stringtoint(STRPTR);
  120. DOUBLE stringtofloat(STRPTR);
  121. STRPTR inttostring(LONG);
  122.  
  123. const char VERSION[] = "$VER: DevsManager 1.4 (15-Jul-2001)";
  124. const char AUTHOR[] = "Matthias Gietzelt";
  125.  
  126. BYTE Emperor_Gadgetkind1[] = { 0, 12, 12, 12, 13, 12, 18, 2, 18, 0, 0, 18, 0, 18, 0, 18, 12, 13, 20, -1 };
  127. char *Nodearray1raw[] = { "DataTypes", "DOSDrivers", "Keymaps", "Monitors", "Printers", NULL };
  128. WORD Nodearray1attr[] = { 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, NULL };
  129.  
  130. struct NewMenu NewMenu[] =
  131. {
  132.     { NM_TITLE, 0, 0, 0, 0, 0 },
  133.     { NM_ITEM, 0, "I", 0, 0, 0 },
  134.     { NM_ITEM, NM_BARLABEL, 0, 0, 0, 0 },
  135.     { NM_ITEM, 0, "Q", 0, 0, 0 },
  136.     { NM_TITLE, 0, 0, 0, 0, 0 },
  137.     { NM_ITEM, 0, "1", 0, 0, 0 },
  138.     { NM_ITEM, 0, "2", 0, 0, 0 },
  139.     { NM_ITEM, 0, "3", 0, 0, 0 },
  140.     { NM_ITEM, 0, "4", 0, 0, 0 },
  141.     { NM_ITEM, 0, "5", 0, 0, 0 },
  142.     { NM_END, 0, 0, 0, 0, 0 }
  143. };
  144.  
  145. void *vinfo = NULL;
  146. BOOL os35 = TRUE;
  147. BOOL terminated = FALSE;
  148. ULONG WindowSignals1 = 0L;
  149. Object *WindowObject1 = NULL;
  150. struct Catalog *Catalog = NULL;
  151. struct Gadget *Gadget1[19];
  152. struct Library *IntuitionBase = NULL;
  153. struct Library *LocaleBase = NULL;
  154. struct Library *GadToolsBase = NULL;
  155. struct Library *ASLBase = NULL;
  156. struct Library *DOSLibBase = NULL;
  157. struct Library *ResourceBase = NULL;
  158. struct Library *WindowBase = NULL;
  159. struct Library *RequesterBase = NULL;
  160. struct Library *ButtonBase = NULL;
  161. struct Library *CheckBoxBase = NULL;
  162. struct Library *ChooserBase = NULL;
  163. struct Library *ClickTabBase = NULL;
  164. struct Library *ColorWheelBase = NULL;
  165. struct Library *DateBrowserBase = NULL;
  166. struct Library *FuelGaugeBase = NULL;
  167. struct Library *GetFileBase = NULL;
  168. struct Library *GetFontBase = NULL;
  169. struct Library *GetScreenModeBase = NULL;
  170. struct Library *GradientSliderBase = NULL;
  171. struct Library *IntegerBase = NULL;
  172. struct Library *LayoutBase = NULL;
  173. struct Library *ListBrowserBase = NULL;
  174. struct Library *PaletteBase = NULL;
  175. struct Library *RadioButtonBase = NULL;
  176. struct Library *ScrollerBase = NULL;
  177. struct Library *SliderBase = NULL;
  178. struct Library *SpaceBase = NULL;
  179. struct Library *SpeedBarBase = NULL;
  180. struct Library *StringBase = NULL;
  181. struct Library *TapeDeckBase = NULL;
  182. struct Library *TextEditorBase = NULL;
  183. struct Library *BevelBase = NULL;
  184. struct Library *BitMapBase = NULL;
  185. struct Library *GlyphBase = NULL;
  186. struct Library *LabelBase = NULL;
  187. struct List Emperor_Chooser_Nodearray1;
  188. struct List Emperor_Clicktab_Nodearray1;
  189. struct List Emperor_Listbrowser_Nodearray1;
  190. struct List Emperor_Radiobutton_Nodearray1;
  191. struct List Emperor_Listbrowser_GadTools_Nodearray1;
  192. struct Menu *Menu = NULL;
  193. struct MsgPort *AppPort = NULL;
  194. struct MsgPort *MsgPort = NULL;
  195. struct Screen *Screen1 = NULL;
  196. struct Window *Window1 = NULL;
  197.  
  198.  
  199. void main(void)
  200. {
  201.     ULONG Emperor_Input = 0L;
  202.     ULONG Emperor_Code = 0L;
  203.     struct IntuiMessage *IntuiMessage = NULL;
  204.     struct Gadget *GadgetMessage = NULL;
  205.  
  206.     Emperor_InitProgram();
  207.     Startup();
  208.     Emperor_OpenWindow_Window1();
  209.     while(!terminated)
  210.     {
  211.         Wait(WindowSignals1);
  212.         while((Emperor_Input = RA_HandleInput(WindowObject1, &Emperor_Code)) != WMHI_LASTMSG)
  213.         {
  214.             switch(Emperor_Input & WMHI_CLASSMASK)
  215.             {
  216.                 case WMHI_GADGETUP:
  217.                     switch(Emperor_Input & WMHI_GADGETMASK)
  218.                     {
  219.                         case 3: Listbrowser1_GadgetUp_Event(); break;
  220.                         case 8: Chooser1_GadgetUp_Event(); break;
  221.                         case 5: Button1_GadgetUp_Event(); break;
  222.                         case 6: Button2_GadgetUp_Event(); break;
  223.                         case 13: Button4_GadgetUp_Event(); break;
  224.                         case 7: Button3_GadgetUp_Event(); break;
  225.                         case 10: Listbrowser2_GadgetUp_Event(); break;
  226.                         default: break;
  227.                     }
  228.                     break;
  229.                 case WMHI_GADGETHELP:
  230.                     switch(Emperor_Input & WMHI_GADGETMASK)
  231.                     {
  232.                         default: break;
  233.                     }
  234.                     break;
  235.                 case WMHI_MENUPICK:
  236.                     switch(Emperor_Input & WMHI_MENUMASK)
  237.                     {
  238.                         case Menu_Information: Menu_Information_MenuPick_Event(); break;
  239.                         case Menu_Quit: Menu_Quit_MenuPick_Event(); break;
  240.                         case Menu_DataTypes: Menu_DataTypes_MenuPick_Event(); break;
  241.                         case Menu_DOSDrivers: Menu_DOSDrivers_MenuPick_Event(); break;
  242.                         case Menu_Keymaps: Menu_Keymaps_MenuPick_Event(); break;
  243.                         case Menu_Monitors: Menu_Monitors_MenuPick_Event(); break;
  244.                         case Menu_Printers: Menu_Printers_MenuPick_Event(); break;
  245.                         default: break;
  246.                     }
  247.                     break;
  248.                 case WMHI_MENUHELP:
  249.                     switch(Emperor_Input & WMHI_MENUMASK)
  250.                     {
  251.                         default: break;
  252.                     }
  253.                     break;
  254.                 case WMHI_CLOSEWINDOW:
  255.                     Window1_CloseWindow_Event();
  256.                     break;
  257.                 case WMHI_ICONIFY:
  258.                     break;
  259.                 case WMHI_UNICONIFY:
  260.                     break;
  261.                 case WMHI_ACTIVE:
  262.                     break;
  263.                 case WMHI_INACTIVE:
  264.                     break;
  265.                 case WMHI_RAWKEY:
  266.                     break;
  267.                 case WMHI_VANILLAKEY:
  268.                     break;
  269.                 case WMHI_MOUSEBUTTONS:
  270.                     break;
  271.                 case WMHI_MOUSEMOVE:
  272.                     break;
  273.                 case WMHI_NEWSIZE:
  274.                     break;
  275.                 case WMHI_CHANGEWINDOW:
  276.                     break;
  277.                 case WMHI_DISPOSEDWINDOW:
  278.                     break;
  279.                 case WMHI_INTUITICK:
  280.                     break;
  281.             }
  282.         }
  283.     }
  284.     Emperor_QuitProgram();
  285. }
  286.  
  287. void wbmain(struct WBStartup *Emperor_ArgMsg)
  288. {
  289.     main();
  290. }
  291.  
  292. LONG Quitrequest1(void)
  293. {
  294.     struct EasyStruct EmperorRequest_Quitrequest1;
  295.  
  296.     EmperorRequest_Quitrequest1.es_StructSize = sizeof(struct EasyStruct);
  297.     EmperorRequest_Quitrequest1.es_Flags = 0L;
  298.     EmperorRequest_Quitrequest1.es_Title = (UBYTE *) LOCALE_REQUEST_QUIT_TITLE;
  299.     EmperorRequest_Quitrequest1.es_TextFormat = (UBYTE *) LOCALE_REQUEST_QUIT_BODY;
  300.     EmperorRequest_Quitrequest1.es_GadgetFormat = (UBYTE *) LOCALE_REQUEST_QUIT_GADGET;
  301.     return(EasyRequest(Window1, &EmperorRequest_Quitrequest1, NULL, NULL));
  302. }
  303.  
  304. LONG Inforequest1(void)
  305. {
  306.     struct EasyStruct EmperorRequest_Inforequest1;
  307.  
  308.     EmperorRequest_Inforequest1.es_StructSize = sizeof(struct EasyStruct);
  309.     EmperorRequest_Inforequest1.es_Flags = 0L;
  310.     EmperorRequest_Inforequest1.es_Title = (UBYTE *) LOCALE_REQUEST_INFO_TITLE;
  311.     EmperorRequest_Inforequest1.es_TextFormat = (UBYTE *) LOCALE_REQUEST_INFO_BODY;
  312.     EmperorRequest_Inforequest1.es_GadgetFormat = (UBYTE *) LOCALE_REQUEST_INFO_GADGET;
  313.     return(EasyRequest(Window1, &EmperorRequest_Inforequest1, NULL, NULL));
  314. }
  315.  
  316. void Emperor_InitProgram(void)
  317. {
  318.     UWORD Emperor_InitVar = 0;
  319.     char Emperor_OccuredError[50], Emperor_ExceptionString[300];
  320.     struct Task *Emperor_ThisTask = NULL;
  321.     struct EasyStruct EmperorRequest_InitializationErrorRequest;
  322.  
  323.     IntuitionBase = OpenLibrary("intuition.library", 39L);
  324.     if(!IntuitionBase)
  325.     {
  326.         Emperor_InitVar = 1;
  327.         strcpy(Emperor_OccuredError, "intuition.library");
  328.     }
  329.     LocaleBase = OpenLibrary("locale.library", 39L);
  330.     if(!LocaleBase)
  331.     {
  332.         Emperor_InitVar = 1;
  333.         strcpy(Emperor_OccuredError, "locale.library");
  334.     }
  335.     GadToolsBase = OpenLibrary("gadtools.library", 39L);
  336.     if(!GadToolsBase)
  337.     {
  338.         Emperor_InitVar = 1;
  339.         strcpy(Emperor_OccuredError, "gadtools.library");
  340.     }
  341.     ASLBase = OpenLibrary("asl.library", 39L);
  342.     if(!ASLBase)
  343.     {
  344.         Emperor_InitVar = 1;
  345.         strcpy(Emperor_OccuredError, "asl.library");
  346.     }
  347.     DOSLibBase = OpenLibrary("dos.library", 39L);
  348.     if(!DOSLibBase)
  349.     {
  350.         Emperor_InitVar = 1;
  351.         strcpy(Emperor_OccuredError, "dos.library");
  352.     }
  353.     ResourceBase = OpenLibrary("resource.library", 44L);
  354.     if(!ResourceBase)
  355.     {
  356.         os35 = FALSE;
  357.         strcpy(Emperor_OccuredError, "resource.library");
  358.     }
  359.     WindowBase = OpenLibrary("window.class", 44L);
  360.     if(!WindowBase)
  361.     {
  362.         os35 = FALSE;
  363.         strcpy(Emperor_OccuredError, "window.class");
  364.     }
  365.     RequesterBase = OpenLibrary("requester.class", 42L);
  366.     if(!RequesterBase)
  367.     {
  368.         os35 = FALSE;
  369.         strcpy(Emperor_OccuredError, "requester.class");
  370.     }
  371.     ButtonBase = OpenLibrary("gadgets/button.gadget", 44L);
  372.     if(!ButtonBase)
  373.     {
  374.         os35 = FALSE;
  375.         strcpy(Emperor_OccuredError, "gadgets/button.gadget");
  376.     }
  377.     CheckBoxBase = OpenLibrary("gadgets/checkbox.gadget", 44L);
  378.     if(!CheckBoxBase)
  379.     {
  380.         os35 = FALSE;
  381.         strcpy(Emperor_OccuredError, "gadgets/checkbox.gadget");
  382.     }
  383.     ChooserBase = OpenLibrary("gadgets/chooser.gadget", 44L);
  384.     if(!ChooserBase)
  385.     {
  386.         os35 = FALSE;
  387.         strcpy(Emperor_OccuredError, "gadgets/chooser.gadget");
  388.     }
  389.     ClickTabBase = OpenLibrary("gadgets/clicktab.gadget", 44L);
  390.     if(!ClickTabBase)
  391.     {
  392.         os35 = FALSE;
  393.         strcpy(Emperor_OccuredError, "gadgets/clicktab.gadget");
  394.     }
  395.     ColorWheelBase = OpenLibrary("gadgets/colorwheel.gadget", 44L);
  396.     if(!ColorWheelBase)
  397.     {
  398.         os35 = FALSE;
  399.         strcpy(Emperor_OccuredError, "gadgets/colorwheel.gadget");
  400.     }
  401.     DateBrowserBase = OpenLibrary("gadgets/datebrowser.gadget", 44L);
  402.     if(!DateBrowserBase)
  403.     {
  404.         os35 = FALSE;
  405.         strcpy(Emperor_OccuredError, "gadgets/datebrowser.gadget");
  406.     }
  407.     FuelGaugeBase = OpenLibrary("gadgets/fuelgauge.gadget", 44L);
  408.     if(!FuelGaugeBase)
  409.     {
  410.         os35 = FALSE;
  411.         strcpy(Emperor_OccuredError, "gadgets/fuelgauge.gadget");
  412.     }
  413.     GetFileBase = OpenLibrary("gadgets/getfile.gadget", 44L);
  414.     if(!GetFileBase)
  415.     {
  416.         os35 = FALSE;
  417.         strcpy(Emperor_OccuredError, "gadgets/getfile.gadget");
  418.     }
  419.     GetFontBase = OpenLibrary("gadgets/getfont.gadget", 44L);
  420.     if(!GetFontBase)
  421.     {
  422.         os35 = FALSE;
  423.         strcpy(Emperor_OccuredError, "gadgets/getfont.gadget");
  424.     }
  425.     GetScreenModeBase = OpenLibrary("gadgets/getscreenmode.gadget", 44L);
  426.     if(!GetScreenModeBase)
  427.     {
  428.         os35 = FALSE;
  429.         strcpy(Emperor_OccuredError, "gadgets/getscreenmode.gadget");
  430.     }
  431.     GradientSliderBase = OpenLibrary("gadgets/gradientslider.gadget", 44L);
  432.     if(!GradientSliderBase)
  433.     {
  434.         os35 = FALSE;
  435.         strcpy(Emperor_OccuredError, "gadgets/gradientslider.gadget");
  436.     }
  437.     IntegerBase = OpenLibrary("gadgets/integer.gadget", 44L);
  438.     if(!IntegerBase)
  439.     {
  440.         os35 = FALSE;
  441.         strcpy(Emperor_OccuredError, "gadgets/integer.gadget");
  442.     }
  443.     LayoutBase = OpenLibrary("gadgets/layout.gadget", 44L);
  444.     if(!LayoutBase)
  445.     {
  446.         os35 = FALSE;
  447.         strcpy(Emperor_OccuredError, "gadgets/layout.gadget");
  448.     }
  449.     ListBrowserBase = OpenLibrary("gadgets/listbrowser.gadget", 44L);
  450.     if(!ListBrowserBase)
  451.     {
  452.         os35 = FALSE;
  453.         strcpy(Emperor_OccuredError, "gadgets/listbrowser.gadget");
  454.     }
  455.     PaletteBase = OpenLibrary("gadgets/palette.gadget", 44L);
  456.     if(!PaletteBase)
  457.     {
  458.         os35 = FALSE;
  459.         strcpy(Emperor_OccuredError, "gadgets/palette.gadget");
  460.     }
  461.     RadioButtonBase = OpenLibrary("gadgets/radiobutton.gadget", 44L);
  462.     if(!RadioButtonBase)
  463.     {
  464.         os35 = FALSE;
  465.         strcpy(Emperor_OccuredError, "gadgets/radiobutton.gadget");
  466.     }
  467.     ScrollerBase = OpenLibrary("gadgets/scroller.gadget", 44L);
  468.     if(!ScrollerBase)
  469.     {
  470.         os35 = FALSE;
  471.         strcpy(Emperor_OccuredError, "gadgets/scroller.gadget");
  472.     }
  473.     SliderBase = OpenLibrary("gadgets/slider.gadget", 44L);
  474.     if(!SliderBase)
  475.     {
  476.         os35 = FALSE;
  477.         strcpy(Emperor_OccuredError, "gadgets/slider.gadget");
  478.     }
  479.     SpaceBase = OpenLibrary("gadgets/space.gadget", 44L);
  480.     if(!SpaceBase)
  481.     {
  482.         os35 = FALSE;
  483.         strcpy(Emperor_OccuredError, "gadgets/space.gadget");
  484.     }
  485.     SpeedBarBase = OpenLibrary("gadgets/speedbar.gadget", 44L);
  486.     if(!SpeedBarBase)
  487.     {
  488.         os35 = FALSE;
  489.         strcpy(Emperor_OccuredError, "gadgets/speedbar.gadget");
  490.     }
  491.     StringBase = OpenLibrary("gadgets/string.gadget", 44L);
  492.     if(!StringBase)
  493.     {
  494.         os35 = FALSE;
  495.         strcpy(Emperor_OccuredError, "gadgets/string.gadget");
  496.     }
  497.     TapeDeckBase = OpenLibrary("gadgets/tapedeck.gadget", 40L);
  498.     if(!TapeDeckBase)
  499.     {
  500.         os35 = FALSE;
  501.         strcpy(Emperor_OccuredError, "gadgets/tapedeck.gadget");
  502.     }
  503.     TextEditorBase = OpenLibrary("gadgets/texteditor.gadget", 15L);
  504.     if(!TextEditorBase)
  505.     {
  506.         os35 = FALSE;
  507.         strcpy(Emperor_OccuredError, "gadgets/texteditor.gadget");
  508.     }
  509.     BevelBase = OpenLibrary("images/bevel.image", 44L);
  510.     if(!BevelBase)
  511.     {
  512.         os35 = FALSE;
  513.         strcpy(Emperor_OccuredError, "images/bevel.image");
  514.     }
  515.     BitMapBase = OpenLibrary("images/bitmap.image", 44L);
  516.     if(!BitMapBase)
  517.     {
  518.         os35 = FALSE;
  519.         strcpy(Emperor_OccuredError, "images/bitmap.image");
  520.     }
  521.     GlyphBase = OpenLibrary("images/glyph.image", 44L);
  522.     if(!GlyphBase)
  523.     {
  524.         os35 = FALSE;
  525.         strcpy(Emperor_OccuredError, "images/glyph.image");
  526.     }
  527.     LabelBase = OpenLibrary("images/label.image", 44L);
  528.     if(!LabelBase)
  529.     {
  530.         os35 = FALSE;
  531.         strcpy(Emperor_OccuredError, "images/label.image");
  532.     }
  533.     Catalog = OpenCatalogA(NULL, "DevsManager.catalog", NULL);
  534.     Emperor_ThisTask = FindTask(NULL);
  535.     if(((ULONG) Emperor_ThisTask->tc_SPUpper - (ULONG) Emperor_ThisTask->tc_SPLower) < 4096) Emperor_InitVar = 4;
  536.     Screen1 = LockPubScreen(NULL);
  537.     if(!Screen1) Emperor_InitVar = 5;
  538.     else
  539.     {
  540.         vinfo = GetVisualInfo(Screen1, TAG_DONE);
  541.         if(!vinfo) Emperor_InitVar = 6;
  542.         else
  543.         {
  544.             NewMenu[0].nm_Label = LOCALE_MENU_PROJECT;
  545.             NewMenu[1].nm_Label = LOCALE_MENU_INFO;
  546.             NewMenu[2].nm_Label = NM_BARLABEL;
  547.             NewMenu[3].nm_Label = LOCALE_MENU_QUIT;
  548.             NewMenu[4].nm_Label = LOCALE_MENU_TYPE;
  549.             NewMenu[5].nm_Label = "DataTypes";
  550.             NewMenu[6].nm_Label = "DOSDrivers";
  551.             NewMenu[7].nm_Label = "Keymaps";
  552.             NewMenu[8].nm_Label = "Monitors";
  553.             NewMenu[9].nm_Label = "Printers";
  554.             Menu = CreateMenus(NewMenu, GTMN_FullMenu, TRUE, TAG_DONE);
  555.             if(!Menu) Emperor_InitVar = 7;
  556.             else
  557.             {
  558.                 LayoutMenus(Menu, vinfo, GTMN_FrontPen, 0, TAG_DONE);
  559.  
  560.                 AppPort = CreateMsgPort();
  561.                 if(!AppPort) Emperor_InitVar = 8;
  562.  
  563.                 MsgPort = CreatePort("DevsManager_Port", 0);
  564.                 if(!MsgPort) Emperor_InitVar = 8;
  565.             }
  566.         }
  567.     }
  568.     if(os35)
  569.     {
  570.         Emperor_AllocChooserNode(&Emperor_Chooser_Nodearray1, Nodearray1raw, Nodearray1attr);
  571.         Emperor_AllocClicktabNode(&Emperor_Clicktab_Nodearray1, Nodearray1raw, Nodearray1attr);
  572.         Emperor_AllocListbrowserNode(&Emperor_Listbrowser_Nodearray1, Nodearray1raw, Nodearray1attr);
  573.         Emperor_AllocRadiobuttonNode(&Emperor_Radiobutton_Nodearray1, Nodearray1raw, Nodearray1attr);
  574.     }
  575.     Emperor_AllocListbrowserGadToolsNode(&Emperor_Listbrowser_GadTools_Nodearray1, Nodearray1raw);
  576.     if((os35) && (!Emperor_InitVar))
  577.     {
  578.         WindowObject1 = (Object *) WindowObject,
  579.                         WA_Width, 400,
  580.                         WA_Height, 190,
  581.                         WA_SizeGadget, TRUE,
  582.                         WA_DragBar, TRUE,
  583.                         WA_DepthGadget, TRUE,
  584.                         WA_CloseGadget, TRUE,
  585.                         WA_Activate, TRUE,
  586.                         WA_AutoAdjust, TRUE,
  587.                         WA_IDCMP, IDCMP_GADGETDOWN | IDCMP_GADGETUP | IDCMP_GADGETHELP | IDCMP_MENUPICK | IDCMP_MENUHELP | IDCMP_CLOSEWINDOW | IDCMP_ACTIVEWINDOW | IDCMP_INACTIVEWINDOW | IDCMP_RAWKEY | IDCMP_VANILLAKEY | IDCMP_MOUSEBUTTONS | IDCMP_MOUSEMOVE | IDCMP_NEWSIZE | IDCMP_CHANGEWINDOW | IDCMP_SIZEVERIFY | IDCMP_REFRESHWINDOW | IDCMP_INTUITICKS,
  588.                         WA_MinWidth, 0,
  589.                         WA_MinHeight, 0,
  590.                         WA_MaxWidth, 0,
  591.                         WA_MaxHeight, 0,
  592.                         WA_Title, LOCALE_WINDOW_TITLE1,
  593.                         WA_ScreenTitle, LOCALE_SCREEN_TITLE1,
  594.                         WA_PubScreen, Screen1,
  595.                         WINDOW_GadgetHelp, TRUE,
  596.                         WINDOW_IconifyGadget, FALSE,
  597.                         WINDOW_IconTitle, LOCALE_ICONIFIED_TITLE1,
  598.                         WINDOW_AppPort, AppPort,
  599.                         WINDOW_Position, WPOS_CENTERSCREEN,
  600.                         WINDOW_ParentGroup, (Object *) Gadget1[0] = (Object *) VGroupObject,
  601.                                             LAYOUT_SpaceOuter, TRUE,
  602.                                             LAYOUT_DeferLayout, TRUE,
  603.                                             LAYOUT_AddChild, (Object *) Gadget1[1] = (Object *) LayoutObject,
  604.                                                              GA_ID, 0,
  605.                                                              GA_RelVerify, TRUE,
  606.                                                              GA_GadgetHelp, TRUE,
  607.                                                              LAYOUT_Label, "",
  608.                                                              LAYOUT_Orientation, 1,
  609.                                                              LAYOUT_HorizAlignment, LALIGN_LEFT,
  610.                                                              LAYOUT_VertAlignment, LALIGN_TOP,
  611.                                                              LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  612.                                                              LAYOUT_BevelState, IDS_NORMAL,
  613.                                                              LAYOUT_BevelStyle, 4,
  614.                                                              LAYOUT_AddChild, (Object *) Gadget1[2] = (Object *) LayoutObject,
  615.                                                                               GA_ID, 1,
  616.                                                                               GA_RelVerify, TRUE,
  617.                                                                               GA_GadgetHelp, TRUE,
  618.                                                                               LAYOUT_Label, "",
  619.                                                                               LAYOUT_Orientation, 0,
  620.                                                                               LAYOUT_HorizAlignment, LALIGN_LEFT,
  621.                                                                               LAYOUT_VertAlignment, LALIGN_TOP,
  622.                                                                               LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  623.                                                                               LAYOUT_BevelState, IDS_NORMAL,
  624.                                                                               LAYOUT_BevelStyle, 4,
  625.                                                                               LAYOUT_AddChild, (Object *) Gadget1[3] = (Object *) LayoutObject,
  626.                                                                                                GA_ID, 2,
  627.                                                                                                GA_RelVerify, TRUE,
  628.                                                                                                GA_GadgetHelp, TRUE,
  629.                                                                                                LAYOUT_Label, "Devices",
  630.                                                                                                LAYOUT_Orientation, 0,
  631.                                                                                                LAYOUT_HorizAlignment, LALIGN_LEFT,
  632.                                                                                                LAYOUT_VertAlignment, LALIGN_TOP,
  633.                                                                                                LAYOUT_LabelPlace, BVJ_TOP_CENTER,
  634.                                                                                                LAYOUT_BevelState, IDS_NORMAL,
  635.                                                                                                LAYOUT_BevelStyle, 4,
  636.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[4] = (Object *) ListBrowserObject,
  637.                                                                                                                 GA_ID, 3,
  638.                                                                                                                 GA_RelVerify, TRUE,
  639.                                                                                                                 GA_GadgetHelp, TRUE,
  640.                                                                                                                 LISTBROWSER_AutoFit, TRUE,
  641.                                                                                                                 LISTBROWSER_ShowSelected, TRUE,
  642.                                                                                                                 LISTBROWSER_VerticalProp, TRUE,
  643.                                                                                                                 LISTBROWSER_HorizontalProp, TRUE,
  644.                                                                                                End,
  645.                                                                               End,
  646.                                                                               LAYOUT_AddChild, (Object *) Gadget1[5] = (Object *) LayoutObject,
  647.                                                                                                GA_ID, 4,
  648.                                                                                                GA_RelVerify, TRUE,
  649.                                                                                                GA_GadgetHelp, TRUE,
  650.                                                                                                LAYOUT_Label, "",
  651.                                                                                                LAYOUT_Orientation, 1,
  652.                                                                                                LAYOUT_HorizAlignment, LALIGN_LEFT,
  653.                                                                                                LAYOUT_VertAlignment, LALIGN_TOP,
  654.                                                                                                LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  655.                                                                                                LAYOUT_BevelState, IDS_NORMAL,
  656.                                                                                                LAYOUT_BevelStyle, 4,
  657.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[6] = (Object *) SpaceObject,
  658.                                                                                                                 GA_ID, 11,
  659.                                                                                                                 GA_RelVerify, TRUE,
  660.                                                                                                                 GA_GadgetHelp, TRUE,
  661.                                                                                                                 SPACE_BevelStyle, 4,
  662.                                                                                                End,
  663.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[7] = (Object *) ChooserObject,
  664.                                                                                                                 GA_ID, 8,
  665.                                                                                                                 GA_RelVerify, TRUE,
  666.                                                                                                                 GA_GadgetHelp, TRUE,
  667.                                                                                                                 CHOOSER_Title, "Type",
  668.                                                                                                                 CHOOSER_AutoFit, TRUE,
  669.                                                                                                                 CHOOSER_PopUp, TRUE,
  670.                                                                                                                 CHOOSER_MaxLabels, 10,
  671.                                                                                                                 CHOOSER_Offset, 0,
  672.                                                                                                                 CHOOSER_Selected, -1,
  673.                                                                                                                 CHOOSER_Labels, (ULONG) &Emperor_Chooser_Nodearray1,
  674.                                                                                                End,
  675.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[8] = (Object *) SpaceObject,
  676.                                                                                                                 GA_ID, 17,
  677.                                                                                                                 GA_RelVerify, TRUE,
  678.                                                                                                                 GA_GadgetHelp, TRUE,
  679.                                                                                                                 SPACE_BevelStyle, 4,
  680.                                                                                                End,
  681.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[9] = (Object *) ButtonObject,
  682.                                                                                                                 GA_ID, 5,
  683.                                                                                                                 GA_RelVerify, TRUE,
  684.                                                                                                                 GA_GadgetHelp, TRUE,
  685.                                                                                                                 GA_Disabled, TRUE,
  686.                                                                                                                 GA_Text, "Emport ->",
  687.                                                                                                                 BUTTON_AutoButton, 0,
  688.                                                                                                                 BUTTON_BevelStyle, 1,
  689.                                                                                                                 BUTTON_Justification, 1,
  690.                                                                                                End,
  691.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[10] = (Object *) ButtonObject,
  692.                                                                                                                 GA_ID, 6,
  693.                                                                                                                 GA_RelVerify, TRUE,
  694.                                                                                                                 GA_GadgetHelp, TRUE,
  695.                                                                                                                 GA_Disabled, TRUE,
  696.                                                                                                                 GA_Text, "<- Import",
  697.                                                                                                                 BUTTON_AutoButton, 0,
  698.                                                                                                                 BUTTON_BevelStyle, 1,
  699.                                                                                                                 BUTTON_Justification, 1,
  700.                                                                                                End,
  701.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[11] = (Object *) SpaceObject,
  702.                                                                                                                 GA_ID, 16,
  703.                                                                                                                 GA_RelVerify, TRUE,
  704.                                                                                                                 GA_GadgetHelp, TRUE,
  705.                                                                                                                 SPACE_BevelStyle, 4,
  706.                                                                                                End,
  707.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[12] = (Object *) ButtonObject,
  708.                                                                                                                 GA_ID, 13,
  709.                                                                                                                 GA_RelVerify, TRUE,
  710.                                                                                                                 GA_GadgetHelp, TRUE,
  711.                                                                                                                 GA_Text, LOCALE_DELETE,
  712.                                                                                                                 BUTTON_AutoButton, 0,
  713.                                                                                                                 BUTTON_BevelStyle, 1,
  714.                                                                                                                 BUTTON_Justification, 1,
  715.                                                                                                End,
  716.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[13] = (Object *) SpaceObject,
  717.                                                                                                                 GA_ID, 15,
  718.                                                                                                                 GA_RelVerify, TRUE,
  719.                                                                                                                 GA_GadgetHelp, TRUE,
  720.                                                                                                                 SPACE_BevelStyle, 4,
  721.                                                                                                End,
  722.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[14] = (Object *) ButtonObject,
  723.                                                                                                                 GA_ID, 7,
  724.                                                                                                                 GA_RelVerify, TRUE,
  725.                                                                                                                 GA_GadgetHelp, TRUE,
  726.                                                                                                                 GA_Text, "Refresh",
  727.                                                                                                                 BUTTON_AutoButton, 0,
  728.                                                                                                                 BUTTON_BevelStyle, 1,
  729.                                                                                                                 BUTTON_Justification, 1,
  730.                                                                                                End,
  731.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[15] = (Object *) SpaceObject,
  732.                                                                                                                 GA_ID, 12,
  733.                                                                                                                 GA_RelVerify, TRUE,
  734.                                                                                                                 GA_GadgetHelp, TRUE,
  735.                                                                                                                 SPACE_BevelStyle, 4,
  736.                                                                                                End,
  737.                                                                               End,
  738.                                                                               LAYOUT_AddChild, (Object *) Gadget1[16] = (Object *) LayoutObject,
  739.                                                                                                GA_ID, 9,
  740.                                                                                                GA_RelVerify, TRUE,
  741.                                                                                                GA_GadgetHelp, TRUE,
  742.                                                                                                LAYOUT_Label, "Storage",
  743.                                                                                                LAYOUT_Orientation, 0,
  744.                                                                                                LAYOUT_HorizAlignment, LALIGN_LEFT,
  745.                                                                                                LAYOUT_VertAlignment, LALIGN_TOP,
  746.                                                                                                LAYOUT_LabelPlace, BVJ_TOP_CENTER,
  747.                                                                                                LAYOUT_BevelState, IDS_NORMAL,
  748.                                                                                                LAYOUT_BevelStyle, 4,
  749.                                                                                                LAYOUT_AddChild, (Object *) Gadget1[17] = (Object *) ListBrowserObject,
  750.                                                                                                                 GA_ID, 10,
  751.                                                                                                                 GA_RelVerify, TRUE,
  752.                                                                                                                 GA_GadgetHelp, TRUE,
  753.                                                                                                                 LISTBROWSER_AutoFit, TRUE,
  754.                                                                                                                 LISTBROWSER_ShowSelected, TRUE,
  755.                                                                                                                 LISTBROWSER_VerticalProp, TRUE,
  756.                                                                                                                 LISTBROWSER_HorizontalProp, TRUE,
  757.                                                                                                End,
  758.                                                                               End,
  759.                                                              End,
  760.                                                              LAYOUT_AddChild, (Object *) Gadget1[18] = (Object *) StringObject,
  761.                                                                               GA_ID, 17,
  762.                                                                               GA_RelVerify, TRUE,
  763.                                                                               GA_GadgetHelp, TRUE,
  764.                                                                               GA_TabCycle, TRUE,
  765.                                                                               STRINGA_TextVal, "",
  766.                                                                               STRINGA_MaxChars, 50,
  767.                                                                               STRINGA_Justification, GACT_STRINGLEFT,
  768.                                                                               STRINGA_MinVisible, 0,
  769.                                                              End,
  770.                                             End,
  771.                         EndGroup,
  772.         EndWindow;
  773.     }
  774.  
  775.     if(Emperor_InitVar)
  776.     {
  777.         strcpy(Emperor_ExceptionString, "Error during initialization:\n\n");
  778.         switch(Emperor_InitVar)
  779.         {
  780.             case 1: strcat(Emperor_ExceptionString, "Can't open Amiga-library\n\"");
  781.                     strcat(Emperor_ExceptionString, Emperor_OccuredError);
  782.                     strcat(Emperor_ExceptionString, "\"\n\nProbably you haven't got a\ncorrect installed AmigaOS system !");
  783.                     break;
  784.             case 4: strcat(Emperor_ExceptionString, "This program needs about 4096 bytes of stack to run.\n\n * when using CLI: type <stack 4096\n * when using Workbench: check icon information\n * when using DOpus5: modify Menu-Preferences-Environment-CLI-Start"); break;
  785.             case 5: strcat(Emperor_ExceptionString, "Can't lock your public-screen."); break;
  786.             case 6: strcat(Emperor_ExceptionString, "Can't get visualinfo of your public-screen."); break;
  787.             case 7: strcat(Emperor_ExceptionString, "Can't create menu."); break;
  788.             case 8: strcat(Emperor_ExceptionString, "Can't create message-port."); break;
  789.         }
  790.         if(Emperor_InitVar >= 5) strcat(Emperor_ExceptionString, "\n\nMaybe there isn't enough memory !");
  791.         EmperorRequest_InitializationErrorRequest.es_StructSize = sizeof(struct EasyStruct);
  792.         EmperorRequest_InitializationErrorRequest.es_Flags = 0L;
  793.         EmperorRequest_InitializationErrorRequest.es_Title = (UBYTE *) "Program error";
  794.         EmperorRequest_InitializationErrorRequest.es_TextFormat = (UBYTE *) Emperor_ExceptionString;
  795.         EmperorRequest_InitializationErrorRequest.es_GadgetFormat = (UBYTE *) "Okay";
  796.         EasyRequest(NULL, &EmperorRequest_InitializationErrorRequest, NULL, NULL);
  797.         Emperor_QuitProgram();
  798.     }
  799.     else
  800.     {
  801.         SetProgramName("DevsManager");
  802.         Startup();
  803.     }
  804. }
  805.  
  806. void Emperor_QuitProgram(void)
  807. {
  808.     Shutdown();
  809.     Emperor_CloseWindow_Window1();
  810.     if(WindowObject1) DisposeObject(WindowObject1);
  811.     if(AppPort) DeleteMsgPort(AppPort);
  812.     if(MsgPort) DeletePort(MsgPort);
  813.     if(Menu) FreeMenus(Menu);
  814.     if(vinfo) FreeVisualInfo(vinfo);
  815.     if(Screen1) UnlockPubScreen(NULL, Screen1);
  816.     if(Catalog) CloseCatalog(Catalog);
  817.     if(LabelBase) CloseLibrary(LabelBase);
  818.     if(GlyphBase) CloseLibrary(GlyphBase);
  819.     if(BitMapBase) CloseLibrary(BitMapBase);
  820.     if(BevelBase) CloseLibrary(BevelBase);
  821.     if(TextEditorBase) CloseLibrary(TextEditorBase);
  822.     if(TapeDeckBase) CloseLibrary(TapeDeckBase);
  823.     if(StringBase) CloseLibrary(StringBase);
  824.     if(SpeedBarBase) CloseLibrary(SpeedBarBase);
  825.     if(SpaceBase) CloseLibrary(SpaceBase);
  826.     if(SliderBase) CloseLibrary(SliderBase);
  827.     if(ScrollerBase) CloseLibrary(ScrollerBase);
  828.     if(RadioButtonBase) CloseLibrary(RadioButtonBase);
  829.     if(PaletteBase) CloseLibrary(PaletteBase);
  830.     if(ListBrowserBase) CloseLibrary(ListBrowserBase);
  831.     if(LayoutBase) CloseLibrary(LayoutBase);
  832.     if(IntegerBase) CloseLibrary(IntegerBase);
  833.     if(GradientSliderBase) CloseLibrary(GradientSliderBase);
  834.     if(GetScreenModeBase) CloseLibrary(GetScreenModeBase);
  835.     if(GetFontBase) CloseLibrary(GetFontBase);
  836.     if(GetFileBase) CloseLibrary(GetFileBase);
  837.     if(FuelGaugeBase) CloseLibrary(FuelGaugeBase);
  838.     if(DateBrowserBase) CloseLibrary(DateBrowserBase);
  839.     if(ColorWheelBase) CloseLibrary(ColorWheelBase);
  840.     if(ClickTabBase) CloseLibrary(ClickTabBase);
  841.     if(ChooserBase) CloseLibrary(ChooserBase);
  842.     if(CheckBoxBase) CloseLibrary(CheckBoxBase);
  843.     if(ButtonBase) CloseLibrary(ButtonBase);
  844.     if(RequesterBase) CloseLibrary(RequesterBase);
  845.     if(WindowBase) CloseLibrary(WindowBase);
  846.     if(ResourceBase) CloseLibrary(ResourceBase);
  847.     if(DOSLibBase) CloseLibrary(DOSLibBase);
  848.     if(ASLBase) CloseLibrary(ASLBase);
  849.     if(GadToolsBase) CloseLibrary(GadToolsBase);
  850.     if(LocaleBase) CloseLibrary(LocaleBase);
  851.     if(IntuitionBase) CloseLibrary(IntuitionBase);
  852.     exit(0);
  853. }
  854.  
  855. void Emperor_CloseWindow_Window1(void)
  856. {
  857.     if(os35)
  858.     {
  859.         if(Menu) ClearMenuStrip(Window1);
  860.         DoMethod(WindowObject1, WM_CLOSE, NULL);
  861.         Window1 = NULL;
  862.         WindowSignals1 = 0L;
  863.     }
  864. }
  865.  
  866. struct Window *Emperor_OpenWindow_Window1(void)
  867. {
  868.     if(os35)
  869.     {
  870.         Window1 = RA_OpenWindow(WindowObject1);
  871.         GetAttr(WINDOW_SigMask, WindowObject1, &WindowSignals1);
  872.         SetMenuStrip(Window1, Menu);
  873.         Window1_ShowWindow_Event();
  874.     }
  875.     return(Window1);
  876. }
  877.  
  878. STRPTR Emperor_GetGadgetAttr(struct Gadget *Emperor_GadgetName)
  879. {
  880.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  881.     STRPTR Emperor_GadgetAttrReturn = "";
  882.  
  883.     Emperor_GadgetAttrBuffer = 0L;
  884.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 1023;Emperor_GadgetCounter++)
  885.     {
  886.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  887.         {
  888.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  889.             {
  890.                 case 0:
  891.                     GetAttr(GA_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  892.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  893.                     break;
  894.                 case 1:
  895.                     GetAttr(GA_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  896.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  897.                     break;
  898.                 case 2:
  899.                     GetAttr(CHOOSER_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  900.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  901.                     break;
  902.                 case 3:
  903.                     GetAttr(CLICKTAB_Current, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  904.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  905.                     break;
  906.                 case 6:
  907.                     GetAttr(FUELGAUGE_Level, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  908.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  909.                     break;
  910.                 case 10:
  911.                     GetAttr(GRAD_CurVal, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  912.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  913.                     break;
  914.                 case 11:
  915.                     GetAttr(INTEGER_Number, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  916.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  917.                     break;
  918.                 case 13:
  919.                     GetAttr(LISTBROWSER_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  920.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  921.                     break;
  922.                 case 14:
  923.                     GetAttr(PALETTE_Colour, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  924.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  925.                     break;
  926.                 case 15:
  927.                     GetAttr(RADIOBUTTON_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  928.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  929.                     break;
  930.                 case 16:
  931.                     GetAttr(SCROLLER_Top, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  932.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  933.                     break;
  934.                 case 17:
  935.                     GetAttr(SLIDER_Level, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  936.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  937.                     break;
  938.                 case 19:
  939.                     GetAttr(SPEEDBAR_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  940.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  941.                     break;
  942.                 case 20:
  943.                     GetAttr(STRINGA_TextVal, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  944.                     strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  945.                     break;
  946.                 case 22:
  947.                     GetAttr(GA_TEXTEDITOR_Contents, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  948.                     strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  949.                     break;
  950.             }
  951.             break;
  952.         }
  953.     }
  954.     return(Emperor_GadgetAttrReturn);
  955. }
  956.  
  957. void Emperor_SetGadgetAttr(struct Gadget *Emperor_GadgetName, STRPTR Emperor_GadgetValue)
  958. {
  959.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  960.     struct Window *Emperor_Whichwindow = NULL;
  961.  
  962.     Emperor_GadgetAttrBuffer = 0L;
  963.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 1023;Emperor_GadgetCounter++)
  964.     {
  965.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  966.         {
  967.             Emperor_Whichwindow = Window1;
  968.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  969.             {
  970.                 case 0:
  971.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  972.                     break;
  973.                 case 1:
  974.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  975.                     break;
  976.                 case 2:
  977.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  978.                     break;
  979.                 case 3:
  980.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CLICKTAB_Current, stringtoint(Emperor_GadgetValue), TAG_DONE);
  981.                     break;
  982.                 case 6:
  983.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, FUELGAUGE_Level, stringtoint(Emperor_GadgetValue), TAG_DONE);
  984.                     break;
  985.                 case 10:
  986.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, INTEGER_Number, stringtoint(Emperor_GadgetValue), TAG_DONE);
  987.                     break;
  988.                 case 11:
  989.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GRAD_CurVal, stringtoint(Emperor_GadgetValue), TAG_DONE);
  990.                     break;
  991.                 case 13:
  992.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  993.                     break;
  994.                 case 14:
  995.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, PALETTE_Colour, stringtoint(Emperor_GadgetValue), TAG_DONE);
  996.                     break;
  997.                 case 15:
  998.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, RADIOBUTTON_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  999.                     break;
  1000.                 case 16:
  1001.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SCROLLER_Top, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1002.                     break;
  1003.                 case 17:
  1004.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SLIDER_Level, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1005.                     break;
  1006.                 case 19:
  1007.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SPEEDBAR_Selected, Emperor_GadgetValue, TAG_DONE);
  1008.                     break;
  1009.                 case 20:
  1010.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, STRINGA_TextVal, Emperor_GadgetValue, TAG_DONE);
  1011.                     break;
  1012.                 case 22:
  1013.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_TEXTEDITOR_Contents, Emperor_GadgetValue, TAG_DONE);
  1014.                     break;
  1015.             }
  1016.             if(Emperor_GadgetAttrBuffer) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
  1017.             break;
  1018.         }
  1019.     }
  1020. }
  1021.  
  1022. void Emperor_SetGadgetAttrComplex(struct Gadget *Emperor_GadgetName, ULONG Emperor_GadgetFlagMask, STRPTR Emperor_GadgetValue)
  1023. {
  1024.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1025.     struct Window *Emperor_Whichwindow = NULL;
  1026.  
  1027.     Emperor_GadgetAttrBuffer = 0L;
  1028.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1029.     {
  1030.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1031.         {
  1032.             Emperor_Whichwindow = Window1;
  1033.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  1034.             {
  1035.                 case 0:
  1036.                     if(Emperor_GadgetFlagMask == GA_Text) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Text, Emperor_GadgetValue, TAG_DONE);
  1037.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1038.                     break;
  1039.                 case 1:
  1040.                     if(Emperor_GadgetFlagMask == GA_Text) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Text, Emperor_GadgetValue, TAG_DONE);
  1041.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1042.                     break;
  1043.                 case 2:
  1044.                     if(Emperor_GadgetFlagMask == CHOOSER_Title) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Title, Emperor_GadgetValue, TAG_DONE);
  1045.                     else
  1046.                     {
  1047.                         if(Emperor_GadgetFlagMask == CHOOSER_Labels)
  1048.                         {
  1049.                             SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Labels, (ULONG) ~0, TAG_DONE);
  1050.                             if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Labels, Emperor_GadgetValue, TAG_DONE);
  1051.                             Emperor_GadgetAttrBuffer = 1;
  1052.                         }
  1053.                         else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1054.                     }
  1055.                     break;
  1056.                 case 3:
  1057.                     if(Emperor_GadgetFlagMask == CLICKTAB_Labels)
  1058.                     {
  1059.                         SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CLICKTAB_Labels, (ULONG) ~0, TAG_DONE);
  1060.                         if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CLICKTAB_Labels, Emperor_GadgetValue, TAG_DONE);
  1061.                         Emperor_GadgetAttrBuffer = 1;
  1062.                     }
  1063.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1064.                     break;
  1065.                 case 4:
  1066.                     if(Emperor_GadgetFlagMask == WHEEL_Abbrv) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, WHEEL_Abbrv, Emperor_GadgetValue, TAG_DONE);
  1067.                     else
  1068.                     {
  1069.                         if((Emperor_GadgetFlagMask == WHEEL_Red) || (Emperor_GadgetFlagMask == WHEEL_Green) || (Emperor_GadgetFlagMask == WHEEL_Blue) || (Emperor_GadgetFlagMask == WHEEL_Hue) || (Emperor_GadgetFlagMask == WHEEL_Saturation) || (Emperor_GadgetFlagMask == WHEEL_Brightness)) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue) << 24, TAG_DONE);
  1070.                         else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1071.                     }
  1072.                     break;
  1073.                 case 5:
  1074.                     if(Emperor_GadgetFlagMask == DATEBROWSER_DayTitles) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, DATEBROWSER_DayTitles, Emperor_GadgetValue, TAG_DONE);
  1075.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1076.                     break;
  1077.                 case 6:
  1078.                     if(Emperor_GadgetFlagMask == GA_Text) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Text, Emperor_GadgetValue, TAG_DONE);
  1079.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1080.                     break;
  1081.                 case 7:
  1082.                     if((Emperor_GadgetFlagMask == GETFILE_TitleText) || (Emperor_GadgetFlagMask == GETFILE_File) || (Emperor_GadgetFlagMask == GETFILE_Drawer) || (Emperor_GadgetFlagMask == GETFILE_FullFile) || (Emperor_GadgetFlagMask == GETFILE_Pattern) || (Emperor_GadgetFlagMask == GETFILE_AcceptPattern) || (Emperor_GadgetFlagMask == GETFILE_RejectPattern)) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, Emperor_GadgetValue, TAG_DONE);
  1083.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1084.                     break;
  1085.                 case 8:
  1086.                     if(Emperor_GadgetFlagMask == GETFONT_TitleText) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GETFONT_TitleText, Emperor_GadgetValue, TAG_DONE);
  1087.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1088.                     break;
  1089.                 case 9:
  1090.                     if(Emperor_GadgetFlagMask == GETSCREENMODE_TitleText) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GETSCREENMODE_TitleText, Emperor_GadgetValue, TAG_DONE);
  1091.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1092.                     break;
  1093.                 case 10: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1094.                 case 11: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1095.                 case 13:
  1096.                     if(Emperor_GadgetFlagMask == LISTBROWSER_Labels)
  1097.                     {
  1098.                         SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_Labels, (ULONG) ~0, TAG_DONE);
  1099.                         if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_Labels, Emperor_GadgetValue, TAG_DONE);
  1100.                         Emperor_GadgetAttrBuffer = 1;
  1101.                     }
  1102.                     else
  1103.                     {
  1104.                         if(Emperor_GadgetFlagMask == LISTBROWSER_ColumnInfo)
  1105.                         {
  1106.                             SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_ColumnInfo, (ULONG) ~0, TAG_DONE);
  1107.                             if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_ColumnInfo, Emperor_GadgetValue, TAG_DONE);
  1108.                             Emperor_GadgetAttrBuffer = 1;
  1109.                         }
  1110.                         else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1111.                     }
  1112.                     break;
  1113.                 case 14: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1114.                 case 15:
  1115.                     if(Emperor_GadgetFlagMask == RADIOBUTTON_Labels)
  1116.                     {
  1117.                         SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, RADIOBUTTON_Labels, (ULONG) ~0, TAG_DONE);
  1118.                         if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, RADIOBUTTON_Labels, Emperor_GadgetValue, TAG_DONE);
  1119.                         Emperor_GadgetAttrBuffer = 1;
  1120.                     }
  1121.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1122.                     break;
  1123.                 case 16: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1124.                 case 17: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1125.                 case 18: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1126.                 case 19: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1127.                 case 20:
  1128.                     if((Emperor_GadgetFlagMask == STRINGA_TextVal) || (Emperor_GadgetFlagMask == STRINGA_Buffer) || (Emperor_GadgetFlagMask == STRINGA_UndoBuffer) || (Emperor_GadgetFlagMask == STRINGA_WorkBuffer)) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, Emperor_GadgetValue, TAG_DONE);
  1129.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1130.                     break;
  1131.                 case 21: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1132.                 case 22:
  1133.                     if(Emperor_GadgetFlagMask == GA_TEXTEDITOR_Contents) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_TEXTEDITOR_Contents, Emperor_GadgetValue, TAG_DONE);
  1134.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1135.                     break;
  1136.             }
  1137.             if(Emperor_GadgetAttrBuffer) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
  1138.             break;
  1139.         }
  1140.     }
  1141. }
  1142.  
  1143. void Emperor_SetGadgetDisabledAttr(struct Gadget *Emperor_GadgetName, BOOL Emperor_GadgetValue)
  1144. {
  1145.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1146.     struct Window *Emperor_Whichwindow = NULL;
  1147.  
  1148.     Emperor_GadgetAttrBuffer = 0L;
  1149.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1150.     {
  1151.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1152.         {
  1153.             Emperor_Whichwindow = Window1;
  1154.             Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Disabled, Emperor_GadgetValue, TAG_DONE);
  1155.             if(Emperor_GadgetAttrBuffer) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
  1156.             break;
  1157.         }
  1158.     }
  1159. }
  1160.  
  1161. void Emperor_AllocChooserNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1162. {
  1163.     WORD Emperor_Counter1 = 0;
  1164.     struct Node *Emperor_Node;
  1165.  
  1166.     if(os35)
  1167.     {
  1168.         NewList(Emperor_List);
  1169.         while(*Emperor_Labels)
  1170.         {
  1171.             Emperor_Node = AllocChooserNode(CNA_Text, *Emperor_Labels, CNA_Disabled, Emperor_Attributes[Emperor_Counter1], CNA_ReadOnly, Emperor_Attributes[Emperor_Counter1 + 1], TAG_DONE);
  1172.             AddTail(Emperor_List, Emperor_Node);
  1173.             Emperor_Labels++;
  1174.             Emperor_Counter1 += 12;
  1175.         }
  1176.     }
  1177. }
  1178.  
  1179. void Emperor_AllocClicktabNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1180. {
  1181.     WORD Emperor_Counter1 = 0, Emperor_Counter2 = 0;
  1182.     struct Node *Emperor_Node;
  1183.  
  1184.     if(os35)
  1185.     {
  1186.         NewList(Emperor_List);
  1187.         while(*Emperor_Labels)
  1188.         {
  1189.             Emperor_Node = AllocClickTabNode(TNA_Text, *Emperor_Labels, TNA_Disabled, Emperor_Attributes[Emperor_Counter1], TNA_Number, Emperor_Counter2, TAG_DONE);
  1190.             AddTail(Emperor_List, Emperor_Node);
  1191.             Emperor_Labels++;
  1192.             Emperor_Counter1 += 12;
  1193.             Emperor_Counter2++;
  1194.         }
  1195.     }
  1196. }
  1197.  
  1198. void Emperor_AllocListbrowserNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1199. {
  1200.     WORD Emperor_Counter1 = 0, Emperor_Counter2 = 0;
  1201.     struct Node *Emperor_Node;
  1202.  
  1203.     if(os35)
  1204.     {
  1205.         NewList(Emperor_List);
  1206.         while(*Emperor_Labels)
  1207.         {
  1208.             Emperor_Counter2 = 0;
  1209.             if(Emperor_Attributes[Emperor_Counter1 + 1]) Emperor_Counter2 += 1;
  1210.             if(Emperor_Attributes[Emperor_Counter1 + 2]) Emperor_Counter2 += 4;
  1211.             if(Emperor_Attributes[Emperor_Counter1 + 3]) Emperor_Counter2 += 8;
  1212.             if(Emperor_Attributes[Emperor_Counter1 + 4]) Emperor_Counter2 += 16;
  1213.             Emperor_Node = AllocListBrowserNode(1, LBNCA_Text, *Emperor_Labels, LBNCA_CopyText, TRUE, LBNA_Generation, Emperor_Attributes[Emperor_Counter1 + 10], LBNA_Column, Emperor_Attributes[Emperor_Counter1 + 11], LBNA_Flags, Emperor_Counter2, LBNA_Selected, Emperor_Attributes[Emperor_Counter1 + 5], LBNA_CheckBox, Emperor_Attributes[Emperor_Counter1 + 6], LBNA_Checked, Emperor_Attributes[Emperor_Counter1 + 7], TAG_DONE);
  1214.             AddTail(Emperor_List, Emperor_Node);
  1215.             Emperor_Labels++;
  1216.             Emperor_Counter1 += 12;
  1217.         }
  1218.     }
  1219. }
  1220.  
  1221. void Emperor_AllocRadiobuttonNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1222. {
  1223.     struct Node *Emperor_Node;
  1224.  
  1225.     if(os35)
  1226.     {
  1227.         NewList(Emperor_List);
  1228.         while(*Emperor_Labels)
  1229.         {
  1230.             Emperor_Node = AllocRadioButtonNode(1, RBNA_Labels, *Emperor_Labels, TAG_DONE);
  1231.             AddTail(Emperor_List, Emperor_Node);
  1232.             Emperor_Labels++;
  1233.         }
  1234.     }
  1235. }
  1236.  
  1237. void Emperor_AllocListbrowserGadToolsNode(struct List *Emperor_List, char **Emperor_Labels)
  1238. {
  1239.     struct Node *Emperor_Node;
  1240.     struct Remember *Emperor_RememberKey;
  1241.  
  1242.     NewList(Emperor_List);
  1243.     while(*Emperor_Labels)
  1244.     {
  1245.         Emperor_Node = (struct Node *) AllocRemember(&Emperor_RememberKey, sizeof(struct Node), MEMF_CLEAR);
  1246.         Emperor_Node->ln_Name = *Emperor_Labels;
  1247.         AddTail(Emperor_List, Emperor_Node);
  1248.         Emperor_Labels++;
  1249.     }
  1250. }
  1251.  
  1252. ULONG stringlength(STRPTR Emperor_StringBuffer)
  1253. {
  1254.     ULONG Emperor_Counter = 0;
  1255.  
  1256.     while(Emperor_StringBuffer[Emperor_Counter] != NULL) Emperor_Counter++;
  1257.     return(Emperor_Counter);
  1258. }
  1259.  
  1260. LONG stringtoint(STRPTR Emperor_StringBuffer)
  1261. {
  1262.     return(atol(Emperor_StringBuffer));
  1263. }
  1264.  
  1265. DOUBLE stringtofloat(STRPTR Emperor_StringBuffer)
  1266. {
  1267.     return(atof(Emperor_StringBuffer));
  1268. }
  1269.  
  1270. STRPTR inttostring(LONG Emperor_NumberBuffer1)
  1271. {
  1272.     LONG Emperor_NumberBuffer2;
  1273.     BYTE Emperor_NumberLength = 0;
  1274.     BYTE Emperor_Counter = 0;
  1275.     char *Emperor_ReturnBuffer = "abcdefghij";
  1276.  
  1277.     strcpy(Emperor_ReturnBuffer, "");
  1278.     Emperor_ReturnBuffer[0] = NULL;
  1279.     if(Emperor_NumberBuffer1 < 0)
  1280.     {
  1281.         strcpy(Emperor_ReturnBuffer, "-");
  1282.         Emperor_NumberBuffer1 = -Emperor_NumberBuffer1;
  1283.     }
  1284.     if(Emperor_NumberBuffer1 > 0) Emperor_NumberLength = 1;
  1285.     if(Emperor_NumberBuffer1/10 > 0) Emperor_NumberLength = 2;
  1286.     if(Emperor_NumberBuffer1/100 > 0) Emperor_NumberLength = 3;
  1287.     if(Emperor_NumberBuffer1/1000 > 0) Emperor_NumberLength = 4;
  1288.     if(Emperor_NumberBuffer1/10000 > 0) Emperor_NumberLength = 5;
  1289.     if(Emperor_NumberBuffer1/100000 > 0) Emperor_NumberLength = 6;
  1290.     if(Emperor_NumberBuffer1/1000000 > 0) Emperor_NumberLength = 7;
  1291.     if(Emperor_NumberBuffer1/10000000 > 0) Emperor_NumberLength = 8;
  1292.     if(Emperor_NumberBuffer1/100000000 > 0) Emperor_NumberLength = 9;
  1293.     if(Emperor_NumberBuffer1 == 0)  strcpy(Emperor_ReturnBuffer, "0");
  1294.     else
  1295.     {
  1296.         Emperor_Counter = Emperor_NumberLength;
  1297.         for(;Emperor_Counter > 0;Emperor_Counter--)
  1298.         {
  1299.             if(Emperor_Counter == 9) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/100000000;
  1300.             if(Emperor_Counter == 8) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/10000000;
  1301.             if(Emperor_Counter == 7) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/1000000;
  1302.             if(Emperor_Counter == 6) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/100000;
  1303.             if(Emperor_Counter == 5) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/10000;
  1304.             if(Emperor_Counter == 4) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/1000;
  1305.             if(Emperor_Counter == 3) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/100;
  1306.             if(Emperor_Counter == 2) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/10;
  1307.             if(Emperor_Counter == 1) Emperor_NumberBuffer2 = Emperor_NumberBuffer1;
  1308.             if(Emperor_NumberBuffer2 == 0) strcat(Emperor_ReturnBuffer, "0");
  1309.             if(Emperor_NumberBuffer2 == 1) strcat(Emperor_ReturnBuffer, "1");
  1310.             if(Emperor_NumberBuffer2 == 2) strcat(Emperor_ReturnBuffer, "2");
  1311.             if(Emperor_NumberBuffer2 == 3) strcat(Emperor_ReturnBuffer, "3");
  1312.             if(Emperor_NumberBuffer2 == 4) strcat(Emperor_ReturnBuffer, "4");
  1313.             if(Emperor_NumberBuffer2 == 5) strcat(Emperor_ReturnBuffer, "5");
  1314.             if(Emperor_NumberBuffer2 == 6) strcat(Emperor_ReturnBuffer, "6");
  1315.             if(Emperor_NumberBuffer2 == 7) strcat(Emperor_ReturnBuffer, "7");
  1316.             if(Emperor_NumberBuffer2 == 8) strcat(Emperor_ReturnBuffer, "8");
  1317.             if(Emperor_NumberBuffer2 == 9) strcat(Emperor_ReturnBuffer, "9");
  1318.             if(Emperor_Counter == 9) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*100000000;
  1319.             if(Emperor_Counter == 8) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*10000000;
  1320.             if(Emperor_Counter == 7) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*1000000;
  1321.             if(Emperor_Counter == 6) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*100000;
  1322.             if(Emperor_Counter == 5) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*10000;
  1323.             if(Emperor_Counter == 4) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*1000;
  1324.             if(Emperor_Counter == 3) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*100;
  1325.             if(Emperor_Counter == 2) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*10;
  1326.             if(Emperor_Counter == 1) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2;
  1327.         }
  1328.     }
  1329.     return(Emperor_ReturnBuffer);
  1330. }
  1331.  
  1332. #include <DevsManager.h>
  1333.